-
Notifications
You must be signed in to change notification settings - Fork 211
OTA-1585: test: Include the compressed tests binary in the CVO container image #1236
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OTA-1585: test: Include the compressed tests binary in the CVO container image #1236
Conversation
|
@DavidHurta: This pull request references OTA-1585 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.21.0" version, but no target version was set. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
Skipping CI for Draft Pull Request. |
|
/test images |
|
Blocked by #1235. |
|
/test e2e-agnostic-ovn |
|
The e2e job failed on:
This PR adds a new file, which is not executed anywhere, to the CVO's container image. Not likely that the flaky failures are caused by the PR. /override ci/prow/e2e-agnostic-ovn |
|
@DavidHurta: Overrode contexts on behalf of DavidHurta: ci/prow/e2e-agnostic-ovn In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
/verified by @DavidHurta The changes affect only tests. The changes are not visible in the CI nor in a cluster as of the moment. I have tested the changes in combination with other relevant PRs using This PR could cause some security scanning alerting to go off. However, such a change has already been done via other teams, so I presume nothing like that will happen. |
|
@DavidHurta: This PR has been marked as verified by In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
/cc @hongkailiu As I am under the impression that you are interested in this area. |
hongkailiu
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NIT: We could simplify the commands a bit.
Otherwise, LGTM.
To make the binary discoverable to the outside world. The following step is to register the binary in the origin repository to make the origin machine aware of the CVO tests extension.
Co-authored-by: Hongkai Liu <hongkailiu@users.noreply.github.com>
d6eeb4f to
1fd1001
Compare
|
/verified bypass The CI will either break or the compressed tests binary won't be visible, which will be discovered shortly without any impact. |
|
@DavidHurta: The In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
This checks out the changes on Dockerfile.rhel $ curl -s https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/test-platform-results/pr-logs/pull/openshift_cluster-version-operator/1236/pull-ci-openshift-cluster-version-operator-main-images/1983882259224072192/artifacts/build-logs/cluster-version-operator-amd64.log | grep 'COPY --from=builder'
2025-10-30T13:09:41.484955381Z [2/2] STEP 3/10: COPY --from=builder /tmp/build/cluster-version-operator /tmp/build/cluster-version-operator-tests.gz /usr/bin/Where the Dockerfile is used? 🤔 Petr confirmed that it is not used in CI. |
|
/lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: DavidHurta, hongkailiu The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Follow up openshift#1236 (comment) The benifit is we do not need to maintain them such as openshift#1236 * The `Dockerfile` was not used in [CI configuration](https://github.com/openshift/release/tree/master/ci-operator/config/openshift/cluster-version-operator). and not in [ocp-build](https://github.com/openshift-eng/ocp-build-data/blob/ee5e00d600bd2d15cf36d9c395c0c333106f3489/images/cluster-version-operator.yml#L3) either. Both of them use `Dockerfile.rhel`. Petr also confirms](openshift@10deb6f) this finding and suggests that tit is there is only for external contributors. However, it stops working anyway. * By replacing the private images with relatively well-known public ones, the build can be recovered. So the bar is not relatively for the externals. ```console $ diff --git a/Dockerfile.rhel b/Dockerfile.rhel index fede93e..cf549c0a 100644 --- a/Dockerfile.rhel +++ b/Dockerfile.rhel @@ -1,11 +1,10 @@ -FROM registry.ci.openshift.org/ocp/builder:rhel-9-golang-1.24-openshift-4.21 AS builder -WORKDIR /go/src/github.com/openshift/cluster-version-operator +FROM docker.io/golang:1.24 AS builder COPY . . RUN hack/build-go.sh; \ mkdir -p /tmp/build; \ cp _output/linux/$(go env GOARCH)/cluster-version-operator /tmp/build/cluster-version-operator -FROM registry.ci.openshift.org/ocp/4.21:base-rhel9 +FROM registry.access.redhat.com/ubi9/ubi-minimal:latest COPY --from=builder /tmp/build/cluster-version-operator /usr/bin/ COPY install /manifests COPY vendor/github.com/openshift/api/config/v1/zz_generated.crd-manifests/0000_00_cluster-version-operator_* /manifests/ ``` * `Dockerfile.rhel7` was kept only for [backwards-compatibility](openshift@32204c0). It has been long enough for the consumers to adapt.
Follow up openshift#1236 (comment) The benifit is we do not need to maintain them such as openshift#1236 * The `Dockerfile` was not used in [CI configuration](https://github.com/openshift/release/tree/master/ci-operator/config/openshift/cluster-version-operator). and not in [ocp-build](https://github.com/openshift-eng/ocp-build-data/blob/ee5e00d600bd2d15cf36d9c395c0c333106f3489/images/cluster-version-operator.yml#L3) either. Both of them use `Dockerfile.rhel`. Petr also [confirms](openshift@10deb6f) this finding and suggests that tit is there is only for external contributors. However, it stops working anyway. * By replacing the private images with relatively well-known public ones, the build can be recovered. So the bar is not relatively for the externals. ```console $ diff --git a/Dockerfile.rhel b/Dockerfile.rhel index fede93e..cf549c0a 100644 --- a/Dockerfile.rhel +++ b/Dockerfile.rhel @@ -1,11 +1,10 @@ -FROM registry.ci.openshift.org/ocp/builder:rhel-9-golang-1.24-openshift-4.21 AS builder -WORKDIR /go/src/github.com/openshift/cluster-version-operator +FROM docker.io/golang:1.24 AS builder COPY . . RUN hack/build-go.sh; \ mkdir -p /tmp/build; \ cp _output/linux/$(go env GOARCH)/cluster-version-operator /tmp/build/cluster-version-operator -FROM registry.ci.openshift.org/ocp/4.21:base-rhel9 +FROM registry.access.redhat.com/ubi9/ubi-minimal:latest COPY --from=builder /tmp/build/cluster-version-operator /usr/bin/ COPY install /manifests COPY vendor/github.com/openshift/api/config/v1/zz_generated.crd-manifests/0000_00_cluster-version-operator_* /manifests/ ``` * `Dockerfile.rhel7` was kept only for [backwards-compatibility](openshift@32204c0). It has been long enough for the consumers to adapt.
Follow up openshift#1236 (comment) The benifit is we do not need to maintain them such as openshift#1236 * The `Dockerfile` was not used in [CI configuration](https://github.com/openshift/release/tree/master/ci-operator/config/openshift/cluster-version-operator). and not in [ocp-build](https://github.com/openshift-eng/ocp-build-data/blob/ee5e00d600bd2d15cf36d9c395c0c333106f3489/images/cluster-version-operator.yml#L3) either. Both of them use `Dockerfile.rhel`. Petr also [confirms](openshift@10deb6f) this finding and suggests that it is there is only for external contributors. However, it stops working anyway. * By replacing the private images with relatively well-known public ones, the build can be recovered. So the bar is relatively low for the externals. ```console $ diff --git a/Dockerfile.rhel b/Dockerfile.rhel index fede93e..cf549c0a 100644 --- a/Dockerfile.rhel +++ b/Dockerfile.rhel @@ -1,11 +1,10 @@ -FROM registry.ci.openshift.org/ocp/builder:rhel-9-golang-1.24-openshift-4.21 AS builder -WORKDIR /go/src/github.com/openshift/cluster-version-operator +FROM docker.io/golang:1.24 AS builder COPY . . RUN hack/build-go.sh; \ mkdir -p /tmp/build; \ cp _output/linux/$(go env GOARCH)/cluster-version-operator /tmp/build/cluster-version-operator -FROM registry.ci.openshift.org/ocp/4.21:base-rhel9 +FROM registry.access.redhat.com/ubi9/ubi-minimal:latest COPY --from=builder /tmp/build/cluster-version-operator /usr/bin/ COPY install /manifests COPY vendor/github.com/openshift/api/config/v1/zz_generated.crd-manifests/0000_00_cluster-version-operator_* /manifests/ ``` * `Dockerfile.rhel7` was kept only for [backwards-compatibility](openshift@32204c0). It has been long enough for the consumers to adapt.
|
/retest-required |
|
@DavidHurta: The following test failed, say
Full PR test history. Your PR dashboard. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
|
sig-network failures are being addressed in https://issues.redhat.com/browse/OCPBUGS-63738 |
|
/retest-required |
420e6d0
into
openshift:main
Follow up openshift#1236 (comment) The benifit is we do not need to maintain them such as openshift#1236 * The `Dockerfile` was not used in [CI configuration](https://github.com/openshift/release/tree/master/ci-operator/config/openshift/cluster-version-operator). and not in [ocp-build](https://github.com/openshift-eng/ocp-build-data/blob/ee5e00d600bd2d15cf36d9c395c0c333106f3489/images/cluster-version-operator.yml#L3) either. Both of them use `Dockerfile.rhel`. Petr also [confirms](openshift@10deb6f) this finding and suggests that it is there is only for external contributors. However, it stops working anyway. * By replacing the private images with relatively well-known public ones, the build can be recovered. So the bar is relatively low for the externals. ```console $ diff --git a/Dockerfile.rhel b/Dockerfile.rhel index fede93e..cf549c0a 100644 --- a/Dockerfile.rhel +++ b/Dockerfile.rhel @@ -1,11 +1,10 @@ -FROM registry.ci.openshift.org/ocp/builder:rhel-9-golang-1.24-openshift-4.21 AS builder -WORKDIR /go/src/github.com/openshift/cluster-version-operator +FROM docker.io/golang:1.24 AS builder COPY . . RUN hack/build-go.sh; \ mkdir -p /tmp/build; \ cp _output/linux/$(go env GOARCH)/cluster-version-operator /tmp/build/cluster-version-operator -FROM registry.ci.openshift.org/ocp/4.21:base-rhel9 +FROM registry.access.redhat.com/ubi9/ubi-minimal:latest COPY --from=builder /tmp/build/cluster-version-operator /usr/bin/ COPY install /manifests COPY vendor/github.com/openshift/api/config/v1/zz_generated.crd-manifests/0000_00_cluster-version-operator_* /manifests/ ``` * `Dockerfile.rhel7` was kept only for [backwards-compatibility](openshift@32204c0). It has been long enough for the consumers to adapt.
Follow up openshift#1236 (comment) The benifit is we do not need to maintain them such as openshift#1236 * The `Dockerfile` was not used in [CI configuration](https://github.com/openshift/release/tree/master/ci-operator/config/openshift/cluster-version-operator). and not in [ocp-build](https://github.com/openshift-eng/ocp-build-data/blob/ee5e00d600bd2d15cf36d9c395c0c333106f3489/images/cluster-version-operator.yml#L3) either. Both of them use `Dockerfile.rhel`. Petr also [confirms](openshift@10deb6f) this finding and suggests that it is there is only for external contributors. However, it stops working anyway. * By replacing the private images in `Dockerfile.rhel` with relatively well-known public ones, the build can be recovered. So the bar is relatively low for the externals. ```console $ diff --git a/Dockerfile.rhel b/Dockerfile.rhel index fede93e..cf549c0a 100644 --- a/Dockerfile.rhel +++ b/Dockerfile.rhel @@ -1,11 +1,10 @@ -FROM registry.ci.openshift.org/ocp/builder:rhel-9-golang-1.24-openshift-4.21 AS builder -WORKDIR /go/src/github.com/openshift/cluster-version-operator +FROM docker.io/golang:1.24 AS builder COPY . . RUN hack/build-go.sh; \ mkdir -p /tmp/build; \ cp _output/linux/$(go env GOARCH)/cluster-version-operator /tmp/build/cluster-version-operator -FROM registry.ci.openshift.org/ocp/4.21:base-rhel9 +FROM registry.access.redhat.com/ubi9/ubi-minimal:latest COPY --from=builder /tmp/build/cluster-version-operator /usr/bin/ COPY install /manifests COPY vendor/github.com/openshift/api/config/v1/zz_generated.crd-manifests/0000_00_cluster-version-operator_* /manifests/ ``` * `Dockerfile.rhel7` was kept only for [backwards-compatibility](openshift@32204c0). It has been long enough for the consumers to adapt.
Follow up openshift#1236 (comment) The benifit is we do not need to maintain them such as openshift#1236 * The `Dockerfile` was not used in [CI configuration](https://github.com/openshift/release/tree/master/ci-operator/config/openshift/cluster-version-operator). and not in [ocp-build](https://github.com/openshift-eng/ocp-build-data/blob/ee5e00d600bd2d15cf36d9c395c0c333106f3489/images/cluster-version-operator.yml#L3) either. Both of them use `Dockerfile.rhel`. Petr also [confirms](openshift@10deb6f) this finding and suggests that it is there is only for external contributors. However, it stops working anyway. * By replacing the private images in `Dockerfile.rhel` with relatively well-known public ones, the build can be recovered. So the bar is relatively low for the externals. ```console $ diff --git a/Dockerfile.rhel b/Dockerfile.rhel index fede93e..cf549c0a 100644 --- a/Dockerfile.rhel +++ b/Dockerfile.rhel @@ -1,11 +1,10 @@ -FROM registry.ci.openshift.org/ocp/builder:rhel-9-golang-1.24-openshift-4.21 AS builder -WORKDIR /go/src/github.com/openshift/cluster-version-operator +FROM docker.io/golang:1.24 AS builder COPY . . RUN hack/build-go.sh; \ mkdir -p /tmp/build; \ cp _output/linux/$(go env GOARCH)/cluster-version-operator /tmp/build/cluster-version-operator -FROM registry.ci.openshift.org/ocp/4.21:base-rhel9 +FROM registry.access.redhat.com/ubi9/ubi-minimal:latest COPY --from=builder /tmp/build/cluster-version-operator /usr/bin/ COPY install /manifests COPY vendor/github.com/openshift/api/config/v1/zz_generated.crd-manifests/0000_00_cluster-version-operator_* /manifests/ ``` * `Dockerfile.rhel7` was kept only for [backwards-compatibility](openshift@32204c0). It has been long enough (over 5 years already) for the consumers to adapt.
To make the binary discoverable to the outside world.
The following step is to register the binary in the origin repository to make the origin machine aware of the CVO tests extension.